package com.iris.live.services.data.models;

import com.fasterxml.jackson.annotation.JsonIgnore;

import javax.persistence.*;
import java.sql.Timestamp;

/**
 * Created by xin on 2016/7/31.
 */
@SuppressWarnings("JpaDataSourceORMInspection")
@Entity
@Table(name = "LSH金融机构手续费", schema = "sg_lsh", catalog = "")
public class Lsh金融机构手续费Model {
    private Integer 金融机构手续费编号;
    private Integer 金融机构编号;
    private String 是否固定;
    private String 固定手续费;
    private String 分类;
    private String 固定费率;
    private String 集团固定手续费;
    private String 集团固定费率;
    private String 更新账号;
    private Timestamp 更新时间;

    private Lsh金融机构设置Model lsh金融机构设置Model;

    @ManyToOne
    @JoinColumn(referencedColumnName = "金融机构编号", name = "金融机构编号", insertable = false, updatable = false)
    @JsonIgnore
    public Lsh金融机构设置Model getLsh金融机构设置Model() {
        return lsh金融机构设置Model;
    }

    public void setLsh金融机构设置Model(Lsh金融机构设置Model lsh金融机构设置Model) {
        this.lsh金融机构设置Model = lsh金融机构设置Model;
    }

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "金融机构手续费编号")
    public Integer get金融机构手续费编号() {
        return 金融机构手续费编号;
    }

    public void set金融机构手续费编号(Integer 金融机构手续费编号) {
        this.金融机构手续费编号 = 金融机构手续费编号;
    }

    @Basic
    @Column(name = "金融机构编号")
    public Integer get金融机构编号() {
        return 金融机构编号;
    }

    public void set金融机构编号(Integer 金融机构编号) {
        this.金融机构编号 = 金融机构编号;
    }

    @Basic
    @Column(name = "是否固定")
    public String get是否固定() {
        return 是否固定;
    }

    public void set是否固定(String 是否固定) {
        this.是否固定 = 是否固定;
    }

    @Basic
    @Column(name = "固定手续费")
    public String get固定手续费() {
        return 固定手续费;
    }

    public void set固定手续费(String 固定手续费) {
        this.固定手续费 = 固定手续费;
    }

    @Basic
    @Column(name = "分类")
    public String get分类() {
        return 分类;
    }

    public void set分类(String 分类) {
        this.分类 = 分类;
    }

    @Basic
    @Column(name = "固定费率")
    public String get固定费率() {
        return 固定费率;
    }

    public void set固定费率(String 固定费率) {
        this.固定费率 = 固定费率;
    }

    @Basic
    @Column(name = "集团固定手续费")
    public String get集团固定手续费() {
        return 集团固定手续费;
    }

    public void set集团固定手续费(String 集团固定手续费) {
        this.集团固定手续费 = 集团固定手续费;
    }

    @Basic
    @Column(name = "集团固定费率")
    public String get集团固定费率() {
        return 集团固定费率;
    }

    public void set集团固定费率(String 集团固定费率) {
        this.集团固定费率 = 集团固定费率;
    }

    @Basic
    @Column(name = "更新账号")
    public String get更新账号() {
        return 更新账号;
    }

    public void set更新账号(String 更新账号) {
        this.更新账号 = 更新账号;
    }

    @Basic
    @Column(name = "更新时间")
    public Timestamp get更新时间() {
        return 更新时间;
    }

    public void set更新时间(Timestamp 更新时间) {
        this.更新时间 = 更新时间;
    }

    @PrePersist
    @PreUpdate
    public void onPreUpdate() {
        this.set更新时间(new Timestamp(System.currentTimeMillis()));
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Lsh金融机构手续费Model that = (Lsh金融机构手续费Model) o;

        if (金融机构手续费编号 != null ? !金融机构手续费编号.equals(that.金融机构手续费编号) : that.金融机构手续费编号 != null) return false;
        if (金融机构编号 != null ? !金融机构编号.equals(that.金融机构编号) : that.金融机构编号 != null) return false;
        if (是否固定 != null ? !是否固定.equals(that.是否固定) : that.是否固定 != null) return false;
        if (固定手续费 != null ? !固定手续费.equals(that.固定手续费) : that.固定手续费 != null) return false;
        if (分类 != null ? !分类.equals(that.分类) : that.分类 != null) return false;
        if (固定费率 != null ? !固定费率.equals(that.固定费率) : that.固定费率 != null) return false;
        if (集团固定手续费 != null ? !集团固定手续费.equals(that.集团固定手续费) : that.集团固定手续费 != null) return false;
        if (集团固定费率 != null ? !集团固定费率.equals(that.集团固定费率) : that.集团固定费率 != null) return false;
        if (更新账号 != null ? !更新账号.equals(that.更新账号) : that.更新账号 != null) return false;
        if (更新时间 != null ? !更新时间.equals(that.更新时间) : that.更新时间 != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = 金融机构手续费编号 != null ? 金融机构手续费编号.hashCode() : 0;
        result = 31 * result + (金融机构编号 != null ? 金融机构编号.hashCode() : 0);
        result = 31 * result + (是否固定 != null ? 是否固定.hashCode() : 0);
        result = 31 * result + (固定手续费 != null ? 固定手续费.hashCode() : 0);
        result = 31 * result + (分类 != null ? 分类.hashCode() : 0);
        result = 31 * result + (固定费率 != null ? 固定费率.hashCode() : 0);
        result = 31 * result + (集团固定手续费 != null ? 集团固定手续费.hashCode() : 0);
        result = 31 * result + (集团固定费率 != null ? 集团固定费率.hashCode() : 0);
        result = 31 * result + (更新账号 != null ? 更新账号.hashCode() : 0);
        result = 31 * result + (更新时间 != null ? 更新时间.hashCode() : 0);
        return result;
    }
}
